Coding standard violations, non-conformance to best practices, and defect patterns are abundant in existing source code. These source code issues lead to unmaintainable code and potential bugs in later stages of software life cycle when they are more expensive to fix. It is important to detect and correct these source code problems early in the development cycle when they are less expensive to fix.